package com.fengye.register;

import com.fengye.model.InvokeService;
import com.fengye.model.ProviderService;

import java.util.List;
import java.util.Map;

/**
 * @Author fengye
 * @Date 2023/2/13 19:16
 **/
public interface RegisterCenter4Invoker {

    /**
     * 消费端订阅服务提供者信息本地缓存
     *
     *
     * @param serviceName
     * @param remoteAppKey
     * @param groupName
     */
    public void subscribe(String serviceName, String remoteAppKey, String groupName);

    /**
     * 消费端获取服务提供者信息
     *
     * 这里需要改一下，消费者应该获取的是它依赖的服务
     *
     * @return
     */
    public Map<String, List<ProviderService>> getServiceMetaDataMap4Consume();

    /**
     * 消费端将消费者信息注册到zk对应的节点下
     *
     * @param invokeService
     */
    public void registerInvoker(final InvokeService invokeService);
}
